Modul 5 von 12 · 📖 9 min Lesezeit · ⏱ 30 min gesamt

FI-DV 05 IoT-Sensorik und Aktorik

Inhaltsverzeichnis (6 Abschnitte)
  1. Konzepte und Hintergrund
  2. Architektur-Diagramm
  3. Praktische Schritte
  4. Häufige Fallstricke
  5. Weiterführende Ressourcen
  6. Wissens-Check

FI-DV 05 IoT-Sensorik und Aktorik

In diesem Modul erlernen Sie die Grundlagen der IoT-Sensorik und Aktorik. Sie verstehen die verschiedenen Sensortypen, den Prozess der Analog-Digital-Wandlung und die Bedeutung von Bus-Systemen wie CAN und RS-485 in der Praxis. Zudem erwerben Sie Kenntnisse zur Konfiguration der entsprechenden Treiber, um Sensordaten effizient auszulesen und Aktoren zu steuern.

Die vermittelten Konzepte bilden die Basis für den Aufbau und die Implementierung von IoT-Lösungen in der industriellen und kommerziellen Anwendung. Sie werden in der Lage sein, passende Sensoren und Aktoren für spezifische Anforderungen auszuwählen und diese in bestehende Infrastrukturen zu integrieren.

Konzepte und Hintergrund

Sensor
Ein Sensor ist ein Bauelement, das physikalische oder chemische Größen wie Temperatur, Druck, Feuchtigkeit oder Bewegung in ein elektrisches Signal umwandelt. In IoT-Systemen dienen Sensoren als Eingangsinterface zur Erfassung von Umgebungsdaten.
Aktor
Aktoren sind Ausgabeelemente, die elektrische Signale in physikalische Aktionen umsetzen. Beispiele sind Motoren, Ventile, LEDs oder Relais, die in IoT-Systemen zur Steuerung und Beeinflussung der Umgebung eingesetzt werden.
Analog-Digital-Wandlung (ADC)
Der Prozess der Analog-Digital-Wandlung wandelt kontinuierliche analoge Signale in diskrete digitale Werte um. Dieser Schritt ist essenziell, da Mikroprozessoren und Computer nur digitale Daten verarbeiten können. Die Auflösung wird in Bit angegeben (z.B. 10-Bit ADC kann 1024 verschiedene Werte darstellen).
Bus-Systeme
Bus-Systeme sind Kommunikationsprotokolle, die es ermöglichen, mehrere Sensoren und Aktoren über eine gemeinsame Leitung zu verbinden. Sie reduzieren die Verkabelungskomplexität und ermöglichen eine standardisierte Kommunikation zwischen Komponenten.
Treiber
Treiber sind Softwarekomponenten, die als Schnittstelle zwischen Hardware (Sensoren/Aktoren) und Betriebssystem bzw. Anwendung dienen. Sie übersetzen die Befehle des Systems in für die Hardware verständliche Signale und umgekehrt.

Architektur-Diagramm

flowchart TB
    subgraph IoT-Knoten
        A[Mikrocontroller] --> B[ADC]
        B --> C[Sensoren]
        A --> D[Digital I/O]
        D --> E[Aktoren]
        A --> F[Bus-Interface]
    end
    
    F --> G[CAN-Bus]
    F --> H[RS-485-Bus]
    
    G --> I[Gateway]
    H --> I
    
    I --> J[Cloud/Server]
    J --> K[Anwendung/Dashboard]

Praktische Schritte

  1. Installieren Sie die notwendigen Entwicklungstools für Ihren Mikrocontroller (z.B. Arduino IDE für ESP32/Arduino).
  2. Verbinden Sie einen Temperatursensor (z.B. DS18B20) mit dem Mikrocontroller gemäß dem Datenblatt.
  3. Konfigurieren Sie die I2C-Kommunikation für den Sensor im Code:
    #include <Wire.h>
    #include <OneWire.h>
    
    OneWire oneWire(4);
    DallasTemperature sensors(&oneWire);
    
    void setup() {
      sensors.begin();
    }
    
    void loop() {
      sensors.requestTemperatures();
      float temp = sensors.getTempCByIndex(0);
      Serial.print("Temperatur: ");
      Serial.print(temp);
      Serial.println(" °C");
      delay(2000);
    }
  4. Implementieren Sie die CAN-Bus-Kommunikation mit einem CAN-Controller (z.B. MCP2515):
    #include <mcp_can.h>
    #include <SPI.h>
    
    MCP_CAN CAN0(10);
    
    void setup() {
      Serial.begin(115200);
      while (CAN0.begin(MCP_ANY, CAN_500KBPS, MCP_PIN_8) != CAN_OK) {
        delay(100);
      }
      CAN0.setMode(MCP_NORMAL);
    }
    
    void loop() {
      if (CAN0.readMsgBuf(&len, &canId, buf)) {
        Serial.print("ID: ");
        Serial.print(canId);
        Serial.print(" Data: ");
        for (int i = 0; i < len; i++) {
          Serial.print(buf[i], HEX);
          Serial.print(" ");
        }
        Serial.println();
      }
    }
  5. Konfigurieren Sie den RS-485-Bus für die Kommunikation mit mehreren Geräten:
    #include <SoftwareSerial.h>
    
    SoftwareSerial RS485(2, 3); // RX, TX
    
    void setup() {
      Serial.begin(9600);
      RS485.begin(9600);
    }
    
    void sendCommand(byte address, byte command) {
      RS485.write(address);
      RS485.write(command);
      RS485.write(0x0D); // CR
      RS485.write(0x0A); // LF
    }
    
    void loop() {
      sendCommand(0x01, 0x03); // Sende Anfrage an Gerät mit Adresse 1
      delay(1000);
    }
  6. Installieren und konfigurieren Sie den Treiber für Ihren spezifischen Sensor im Linux-System:
    sudo apt-get install i2c-tools
    sudo modprobe w1-gpio
    sudo modprobe w1-therm
    sudo i2cdetect -y 1
  7. Testen Sie die Sensorausgabe mit einem einfachen Skript:
    #!/bin/bash
    while true; do
      temp=$(cat /sys/bus/w1/devices/28-*/w1_slave | grep "t=" | cut -d'=' -f2)
      echo "Temperatur: $((temp/1000)).$((temp%1000/10)) °C"
      sleep 2
    done
  8. Integrieren Sie die gesammelten Daten in ein MQTT-System für die Weiterverarbeitung:
    mosquitto_pub -t sensors/temperature -m "23.5"

Häufige Fallstricke

Weiterführende Ressourcen

Wissens-Check

Vier Fragen zur Selbstkontrolle. Klicken Sie jede Frage an, um die richtige Antwort und Erklärung zu sehen.

Was ist die Hauptfunktion eines ADC in IoT-Systemen?
  • A) Umwandlung digitaler Signale in analoge Signale
  • B) Wandlung analoger Sensordaten in digitale Werte
  • C) Verstärkung schwacher elektrischer Signale
  • D) Filterung von Störsignalen in der Kommunikation

Richtige Antwort: B. Ein ADC wandelt analoge Sensordaten in digitale Werte um, da Mikroprozessoren nur digitale Daten verarbeiten können. Option A beschreibt den umgekehrten Prozess (DAC), Option C und D sind nicht die Hauptfunktion eines ADC.

Welche Aufgabe erfüllen Treiber in IoT-Systemen?
  • A) Sie reduzieren die Verkabelungskomplexität zwischen Sensoren und Aktoren
  • B) Sie übersetzen Systembefehle in für die Hardware verständliche Signale
  • C) Sie wandeln physikalische Größen in elektrische Signale um
  • D) Sie speichern die erfassten Sensordaten dauerhaft

Richtige Antwort: B. Treiber dienen als Schnittstelle zwischen Hardware und Software, indem sie Systembefehle in für die Hardware verständliche Signale übersetzen. Option A beschreibt die Funktion von Bus-Systemen, Option C ist die Aufgabe von Sensoren und Option D ist Aufgabe von Speicherkomponenten.

Was ist der Hauptvorteil der Verwendung von Bus-Systemen in IoT-Anwendungen?
  • A) Sie ermöglichen eine höhere Auflösung bei der Messung von Sensordaten
  • B) Sie reduzieren die Verkabelungskomplexität und standardisieren die Kommunikation
  • C) Sie erhöhen die Geschwindigkeit der Analog-Digital-Wandlung
  • D) Sie ermöglichen die direkte Umwandlung von physikalischen Größen in digitale Daten

Richtige Antwort: B. Bus-Systeme reduzieren die Verkabelungskomplexität, indem sie mehrere Komponenten über eine gemeinsame Leitung verbinden, und standardisieren die Kommunikation. Option A ist Aufgabe des ADC, Option C hängt von der ADC-Hardware ab und Option D beschreibt die Funktion von Sensoren.

Was unterscheidet Sensoren von Aktoren in IoT-Systemen?
  • A) Sensoren arbeiten mit digitalen Signalen, Aktoren mit analogen Signalen
  • B) Sensoren wandeln elektrische Signale in physikalische Aktionen um
  • C) Sensoren erfassen Umgebungsdaten, Aktoren steuern die Umgebung
  • D) Sensoren benötigen immer eine Analog-Digital-Wandlung, Aktoren nicht

Richtige Antwort: C. Sensoren dienen als Eingangsinterface zur Erfassung von Umgebungsdaten, während Aktoren als Ausgabeelemente zur Steuerung und Beeinflussung der Umgebung eingesetzt werden. Option A ist falsch, da beide mit Signalen arbeiten, Option B beschreibt die Funktion von Aktoren und Option D ist nicht korrekt, da Aktoren ebenfalls Signalverarbeitung benötigen.